package com.ruoyi.patrol.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;
import java.util.List;

public class PtFormDetailVo extends BaseEntity {

    private Long id;

    public void setId(Long id) {
        this.id = id;
    }
    private long formFillingId;
    private String formTitle;
    private int number;
    private List<Schools> schools;
    private List<Formlist> formlist;
    private String fillinperson;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date time;

    public long getFormFillingId() {
        return formFillingId;
    }

    public void setFormFillingId(long formFillingId) {
        this.formFillingId = formFillingId;
    }

    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }

    public String getFillinperson() {
        return fillinperson;
    }

    public void setFillinperson(String fillinperson) {
        this.fillinperson = fillinperson;
    }

    public String getFormTitle() {
        return formTitle;
    }

    public void setFormTitle(String formTitle) {
        this.formTitle = formTitle;
    }

    public int getNumber() {
        return number;
    }

    public void setNumber(int number) {
        this.number = number;
    }

    public List<Schools> getSchools() {
        return schools;
    }

    public void setSchools(List<Schools> schools) {
        this.schools = schools;
    }

    public List<Formlist> getFormlist() {
        return formlist;
    }

    public void setFormlist(List<Formlist> formlist) {
        this.formlist = formlist;
    }

    @Override
    public String toString() {
        return "PtFormDetailVo{" +
                "formTitle='" + formTitle + '\'' +
                ", number=" + number +
                ", schools=" + schools +
                ", formlist=" + formlist +
                ", id=" + id +
                '}';
    }

    public static class Schools {
        private Long key;
        private String label;

        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private Date time;

        @Override
        public String toString() {
            return "Schools{" +
                    "key=" + key +
                    ", label='" + label + '\'' +
                    ", time='" + time + '\'' +
                    '}';
        }

        public Long getKey() {
            return key;
        }

        public void setKey(Long key) {
            this.key = key;
        }

        public String getLabel() {
            return label;
        }

        public void setLabel(String label) {
            this.label = label;
        }

        public Date getTime() {
            return time;
        }

        public void setTime(Date time) {
            this.time = time;
        }
    }

    public static class Formlist {
        private String title;
        private int type;
        private int category;
        private int number;
        private long key;
        private String reply;

        public String getReply() {
            return reply;
        }

        public void setReply(String reply) {
            this.reply = reply;
        }

        private List<Optionlist> optionlist;

        @Override
        public String toString() {
            return "Formlist{" +
                    "title='" + title + '\'' +
                    ", type=" + type +
                    ", category=" + category +
                    ", number=" + number +
                    ", reply=" + reply +
                    ", key=" + key +
                    ", optionlist=" + optionlist +
                    '}';
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public int getType() {
            return type;
        }

        public void setType(int type) {
            this.type = type;
        }

        public int getCategory() {
            return category;
        }

        public void setCategory(int category) {
            this.category = category;
        }

        public int getNumber() {
            return number;
        }

        public void setNumber(int number) {
            this.number = number;
        }

        public long getKey() {
            return key;
        }

        public void setKey(long key) {
            this.key = key;
        }

        public List<Optionlist> getOptionlist() {
            return optionlist;
        }

        public void setOptionlist(List<Optionlist> optionlist) {
            this.optionlist = optionlist;
        }

        public static class Optionlist {
            private String option;
            private boolean reason;
            private boolean checked;
            private long formdataid;
            private long key;
            private String reasontext;

            public String getReasontext() {
                return reasontext;
            }

            public void setReasontext(String reasontext) {
                this.reasontext = reasontext;
            }

            public long getFormdataid() {
                return formdataid;
            }

            public void setFormdataid(long formdataid) {
                this.formdataid = formdataid;
            }

            @Override
            public String toString() {
                return "Optionlist{" +
                        "option='" + option + '\'' +
                        ", reason=" + reason +
                        ", reasontext=" + reasontext +
                        ", checked=" + checked +
                        ", key=" + key +
                        '}';
            }

            public String getOption() {
                return option;
            }

            public void setOption(String option) {
                this.option = option;
            }

            public boolean isReason() {
                return reason;
            }

            public void setReason(boolean reason) {
                this.reason = reason;
            }

            public boolean isChecked() {
                return checked;
            }

            public void setChecked(boolean checked) {
                this.checked = checked;
            }

            public long getKey() {
                return key;
            }

            public void setKey(long key) {
                this.key = key;
            }
        }
    }
}
